Swapping
Intr o masina functionind in regim de multiprogramare este posibila executia concurenta a mai multor programe. De aceea, este salutara ideea de a pastra in memoria principala doar programele care sint gata de rulare.
Conform politicii de swapping (comutare intre memoria principala si cea secundara), un program care asteapta terminarea unei operatii I/O (care poate dura citeva milisecunde),este evacuat din memorie (swapped out). Cind el devine din nou gata de rulare, sistemul incearca sa gaseasca un spatiu adecvat in memoria primara, in care sa incarce programul in discutie. Daca nu exista spatiul disponibil, programul este inscris intr o lista de asteptare, in vederea sosirii momentului la care se creeaza spatiul necesar de memorie. La fiecare evacuare de program in memoria secundara, rutinele de implementare a mecanismului de gestiune a memoriei incearca sa incarce in memoria principala un program din lista de asteptare.
Conversia  adresei virtuale in adresa fizica de memorie principala se face prin adunarea adresei virtuale la adresa de inceput a zonei de memorie in care s a efectuat incarcarea. Deoarece aceasta operatie de relocare trebuie efectuata la fiecare ciclu de memorie, apare necesitatea de hardware specializat, care sa efectueze relocarea intr un mod care sa nu conduca la lungirea timpului de executie drept consecinta a aplicarii tehnicii swapping. Acest hardware specializat, implementat adesea intr un singur circuit, se numeste unitate de gestiune a memoriei (MMU memory management unit) si poate fi considerat drept o extensie a  CPU, care efectueaza cu mai mare viteza functii asociate gestiunii memoriei. Fiecare tehnica de gestiune a memoriei necesita propriul tip de MMU. Totusi, sistemele cu multiprogramare au intotdeauna nevoie de o astfel de unitate hardware.
Ori de cite ori un program este lansat sau relansat in executie, adresa de baza a zonei dee memorie in care se afla stocat un program este incarcata intr un registru special al MMU. Un alt registru contine dimensiunea programului, fapt ce permite ca, pe durata executiei acestuia, sa se poata detecta tentativa de adresare intr un spatiu exterior celui al programului curent. Acest test simplu permite protejarea fiecarui program impotriva unor actiuni periculoase   involuntare sau nu   efectuate de catre alte programe.
Tehnica swapping de gestiune a memoriei este simplu de implementat, dar are si dezavantaje ce nu se pot neglija. In situatia din fig. 4.9. programul PROG2 trebuie evacuat, eliberind spatiul de memorie pe care il ocupa. Totusi, actiunea nu creeaza suficient spatiu pentru a incarca in memorie nici unul din programele aflate in lista de asteptare, chiar daca volumul total de memorie disponibila (1000 + 2000 = 3000 cuvinte) ar permite incarcarea lui PROG7. Tehnica swapping considera un program drept un bloc a carui incarcare se poate face doar intr o zona de locatii contigue de memorie, deci ea nu permite folosirea micilor fragmente de spatii libere de memorie, spatii a caror dimensiune totala devine importanta dupa un numar de operatii swapping. Acest efect este numit fragmentarea memoriei si urmarile sale se pot atenua,inlocuind tehnica swapping cu cea de segmentare.
